﻿/**************************************************
* Classe ModeleEcurieEvent                         *
* événements générés par le modele du parcours *
**************************************************/

package utils.appli.events {
	
	import flash.events.Event;
	import utils.appli.Cheval;
	
	public class ModeleEcurieEvent extends Event {
		
		/***************
		*les constantes*
		***************/
		
		public static const RESET:String = "reset";
		public static const CHEVAL_QUITTE_ECURIE:String = "cheval quitte ecurie";
		public static const ECURIE_VIDE:String = "ecurie vide";
		
		/****************************
		*les propriétés d'occurrence*
		****************************/
		
		private var _aCheval:Cheval;

		/****************
		*le constructeur*
		****************/
		
		public function ModeleEcurieEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, aCheval:Cheval = null) {
			//initialisation du constructeur de la classe Event
			super(type, bubbles, cancelable);
			if(aCheval==null) {
				this._aCheval = null;
			}else{
				this._aCheval = aCheval;
			}
		}
		
		/***************
		*les méthodes*
		***************/
		
		//surcharge de la méthode clone (obligatoire)
		public override function clone():Event {
			return new ModeleEcurieEvent(type, bubbles, cancelable);
		}
		
		//surcharge de la méthode toString (obligatoire)
		public override function toString():String {
			return("[ModeleEcurieEvent type : "+type+", bubbles : "+bubbles+", cancelable : "+cancelable+"]");
		}
		
		/***********************
		*les getters et setters*
		***********************/
		
		public function get cheval():Cheval {
			return this._aCheval;
		}
		
		public function set cheval(aCheval:Cheval):void {
			this._aCheval = aCheval;
		}
	}
}